解讀資料這件事的歷史很長,它已經被科學家、統計學家、圖書館館員、計算機科學家以及其他人士討論多年。
--- 資料科學極簡史 (A Very Short History Of Data Science)
在訪談過數個資料分析師與讀過一些文獻之後,我發現,資料分析的方法非常多元。在眾多的方法論之中,有三種方法算是泛用型的,它們之中有些甚至不需要太多的數學,而且可以應用於各個領域。靈活運用之後,可協助分析師快速增加對資料的掌握、甚至找到有趣的洞見。
在三種方法裡,探索式資料分析是最常應用的方法,它可以讓我們對資料產生進一步的了解,它由下列幾個步驟構成。
以下表的資料為例,如果我們最感興趣的目標是學生的數學成績 (Math grade),比方說,我們想要預測學生的數學成績。那這個變數 Math grade 就成為了目標變數 (target variable)、又可稱為輸出變數 (output variable)。其它也許可以用來預測數學成績的變數,可以稱之為預測變數 (predictor variable),又稱之為輸入變數 (input variable)。
同時,變數也可以做分類:
Student ID | Gender | Chinese grade | Math grade | IQ | Habit in sport |
---|---|---|---|---|---|
001 | M | 90 | 98 | 88 | Yes |
002 | F | 45 | 34 | 80 | No |
003 | M | 78 | 50 | 90 | No |
資料常常不是乾淨的,這步驟要設法處理缺值的情況,以讓後續的分析可以有乾淨的資料。
最簡單的兩種方法:
也還有其它更進階的技巧,比方說,使用預測模型來做內插。
有少數的資料會有極端值,比方說,在討論收入資料的時候,首富的收入會是極端值,一旦納入平均計算之後,就會大大地拉高平均值。而在了解整體趨勢時,先刪除極端值是很有幫助的。
用常見的統計方法,來看平均值、最大值、最小值、中位數、標準差等。
這個分析是要看出變數與變數之間的關聯性,可以分成三種方式操作:
註:嚴謹的探索式資料分析,可以考慮使用 R 語言之類的軟體來做,上述專業統計軟體會提供很多的工具與函式庫。另一方面,而初學者或是想省事的話,也可以參考本系列文的Metabase - 自動分析
當資料隨時間而變化時,要了解資料,最直接的方式是先選擇某個特定的時間,取出該時間點的所有的資料來做分析,這種方式稱之為橫向分析。
比方說,像一般生育率 (general fertility rate) 的計算方式是:當年度每 1000 名 15 ~ 49 歲育齡婦女的活產嬰兒數,這就是一種橫向分析。
然而,以生育率的這個例子來講,常識告訴我們,現代化國家的國民會推遲結婚年齡與生育年齡,也因此,橫向分析未必可以最清楚地呈現生育的趨勢,因為看到生育率數字下降了,卻還無法判斷,這個生育率數字下降到底是因為不生小孩、還是晚生小孩。
另一種呈現生育率的方式則是世代生育率 (cohort fertility rate),它的作法是追蹤所有相同年齡的婦女,計算他們一輩子的生育總量。也因此,每一個年齡會對應一組世代生育率。在這種計算方式之下,就算許多婦女晚婚晚生,只要最後生育的總數一樣,計算出來的世代生育率會是相同的。世代生育率是一種年輪分析。
前面兩種資料分析的方式,近似於歸納法:「先有資料,然後從資料之中設法歸納、分析找出模式。」然而,在實務之中,資料常常不是自動存在的,而是我們要積極主動去蒐集才會取得,換言之,我們要能先設想,大概需要哪些資料,然後積極地去蒐集,才會有資料可以利用。
費米估算恰好與前兩種方法相反,它比較近似於演繹法:「先利用既有的常識推估出模型,之後根據模型去蒐集資料即可計算關鍵結果。」
在商業上,費米估算的最常見應用,可能是針對利潤、營收來做費米估算,之後再來去蒐集、改善哪些資料。比方說:
許多人認為,做資料分析需要數學很好、需要利用很複雜的演算法,覺得自己的強項不是數學,也因此不太敢投身進入這個產業。
違反直覺的事情是,最重要的事情其實是資料的品質。不論規模都適用的原則是:「簡單的方法搭配高品質的資料」遠勝於「複雜的方法搭配低品質的資料」。